﻿namespace Skying.Net.Sockets
{
	/// <summary>
	/// 헤더 분석 결과를 나열한다.
	/// </summary>
	internal enum HeaderParseResult
	{
		/// <summary>
		/// Parsing이 성공됐을 때를 나타낸다.
		/// </summary>
		Success = 0x00,

		/// <summary>
		/// Null이거나 올바르지 않은 헤더 후보자가 전달된 경우를 나타낸다.
		/// </summary>
		InvalidHeaderCandidate = 0x01,

		/// <summary>
		/// 헤더 후보자에 패킷 시작 구분자가 존재하지 않는 경우를 나타낸다.
		/// </summary>
		NoSeparator = 0x02,

		/// <summary>
		/// Parsing된 헤더 내의 헤더 크기 값과 실제 헤더 크기가 다른 경우를 나타낸다.
		/// </summary>
		HeaderSizeNotMatch = 0x04,

		/// <summary>
		/// 올바르지 않은 패킷 유형이 전달된 경우를 나타낸다.
		/// </summary>
		InvalidPacketType = 0x08,

		/// <summary>
		/// 올바르지 않은 암호화 옵션이 전달된 경우를 나타낸다.
		/// </summary>
		InvalidEncryptionOptions = 0x16,
	}
}